<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 数组方法-综合案例
// 测试
    // 给定一个数组
    let list = [
      // wu: 武力    zhi:智力
      { id: 1, name: '张飞', wu: 97, zhi: 10 },
      { id: 2, name: '诸葛亮', wu: 55, zhi: 99 },
      { id: 3, name: '赵云', wu: 97, zhi: 66 },
      { id: 4, name: '周瑜', wu: 80, zhi: 98 },
      { id: 5, name: '吕布', wu: 100, zhi: 8 },
      { id: 6, name: '司马懿', wu: 30, zhi: 98 }
    ]

    const wu = list.forEach(({wu}) =>console.log(wu))
    console.log(...list)
    // 1. 求数组中所有英雄的武力平均值 (先求和,再算平均值)
   
    // const wus = list.reduce((prem,{wu}) => prem+wu,0)
    // console.log(wus)
    // console.log(wus/(list.length))

    const wus = list.reduce((prem,{wu})=> prem + wu,0)
    console.log(wus)
    console.log(wus/(list.length))

    // 2. 得到一个新数组，只保留英雄的名字， ['张飞', '诸葛亮', '赵云', '周瑜', '吕布', '司马懿']
    // const names = list.map(({name})=> name)
    // console.log(names)
    const name = list.map(({name})=> name)
    console.log(name)
    // 3. 得到一个新数组，新数组中只保留武力值超过90的英雄  (过滤: 保留你想要的) => filter
    // const wuli = list.filter(({wu})=> wu > 90)
    // console.log(wuli)
    const wuli = list.filter(({wu})=> wu>90)
    console.log(wuli)
    
    // 4. 判断数组中所有英雄的武力是否都超过60， 最终打印结果： 全是猛将 / 还有弱鸡
   
    list.every(({wu})=>wu>=60)?console.log('全是猛将'):console.log('还有弱鸡')

    // 5. 删除数组中所有智力低于60的英雄 => 保留数组中所有智力高于60的英雄filter
    // console.log(list = list.filter(({zhi})=> zhi>60))
    // list = list.filter(({zhi})=> zhi > 60)
    // console.log(list)
    // 6. 查找 id 为 4 的英雄  find
    const num = list.find(({id}) => id === 4)
    console.log(num)
    // 7. 找到 name 为 吕布的英雄的下标  findIndex
    const i = list.findIndex(({name}) => name === '吕布')
    console.log(i)
  </script>
</body>

</html>